Wireless devices, such as cellular handsets are being manufactured with more, increasingly complex, features in smaller form factors. As the complexity of applications supported by wireless devices increases, more hardware is required on an integrated circuit to support the new applications. For example, an application processor (AP) and additional audio devices (such as stereo digital-to-analog converters (DACs) and Bluetooth codecs) have been added to the system in addition to the traditional baseband processor. In order to maximize the system's flexibility, both the baseband processor and the AP processor should be able to utilize all of the audio resources in the system.
A simple solution to the problem of sharing the audio resources between multiple processors is to connect some of the audio devices to one processor and the rest of the audio devices to the other processor as illustrated in FIG. 1. FIG. 1 illustrates, in block diagram form, data processing system 10 in accordance with the prior art. Data processing system 10 includes processors 12 and 14, and audio devices 16, 18, 20, and 22, where audio device 16 is a voice codec, audio device 18 is a Bluetooth module, audio device 20 is a stereo DAC, and audio device 22 is an external access port. By way of illustration, processor 12 has one input/output (I/O) port 15 coupled to communicate with both audio devices 16 and 18. Processor 14 has an I/O port 17 coupled to communicate with audio device 20 and an I/O port 19 coupled to communicate with audio device 22. Also, processors 12 and 14 are coupled together so data can be passed between them. In data processing system 10, both processors can access all of audio devices 16, 18, 20, and 22. However, if for example, processor 14 wants to send data to one of audio devices 16 and 18, processor 14 must first pass the data to processor 12 which then sends the data to the desired audio device 16 or 18.
There are several disadvantages to passing data between the processors in this example. First, both processors must be in a RUN operating mode in order for processor 14 data to reach audio devices 16 and 18. Second, interrupt frequency of the processors increases. Third, the maximum allowable interrupt timing of the processors decreases. Fourth, latency of the audio stream increases. Fifth, audio streams sent between processors require rate adaptation to account for subtle differences in clocks generated on the different processors.
Therefore, there is a need for a multi-processor data processing system that solves the above problems.